Flashing Sonix QMK on Keychron C1 plain mechanical keyboard
Base instructions: Sonix QMK sn32_master Keychron C1 plain
This tutorial / collection of info applies to Keychron C1 plain
The correct Sonix QMK branch to use for this is sn32_master_stable source: Found a comment on the discord server, generally digging through the discord server reveals the correct way of doing something
qmk clone SonixQMK/qmk_firmware -b sn32_master_stable
When making the firmware with the QMK command,
specify via
as the layout
qmk compile --keyboard keychron/c1/plain --keymap via
It's important to use the Flashing tool to flash the jumploader, which is needed on this chip, because it's possible to brick it, by overwriting the bootloader, the jumploader allows a button combination (ESC) to be held when plugging in the keyboard to boot into bootloader mode. Bootloader mode is the mode that allows flashing new software to the chip.
To build on modern systems, update requirements.txt QT version as per the instructions here (I do this with sed in the following code snippet)
This was tested on Arch 2023-09-21 with the following package versions:
# Install python 3.6
yay -Sy python36
# Don't save the software when rebooting the computer
cd /tmp/
# Download release 0.2.5
wget https://github.com/SonixQMK/sonix-flasher/archive/refs/tags/v0.2.5.zip
# Extract release
unzip v0.2.5.zip
cd sonix-flasher-0.2.5/
# Install these python package versions for this project only
python3.6 -m venv venv
source venv/bin/activate
# This was needed, else it threw an error
pip3 install --upgrade pip
pip install wheel
# Use a more modern version of the QT package,
# that's compatible with the version of QT in the repos
sed -i 's/hidapi==0.9.0.post2/hidapi==0.14.0/' requirements.txt
pip install -r requirements.txt
# Run the program
python src/main/python/main.py
To use via it needs the json keyboard definition loaded
What have i used this newfound customizability for?
Mainly repurposing the os switcher has been into a layout switcher, to allow switching between Qwerty and Colemak in hardware, which comes in handy when using it on someone elses computer.
Also i changed the right alt to the menu button (acts like a right click)
You can find the firmware source code here: sonix-qmk - git.node5.net